#ifndef __WS2812_BLINK_H__  
#define __WS2812_BLINK_H__

#ifdef __cplusplus
extern "C"
{
#endif

#define GPIO_NUM CONFIG_BLINK_GPIO             // 引脚号
#define LED_NUM CONFIG_BLINK_NUM        // 灯珠数目
#define LED_PERIOD CONFIG_BLINK_PERIOD       // 延时

// 将RGB转为GRB整数
#define COLOR_U32(r, g, b) ( \
    (uint32_t)g << 16 |      \
    (uint32_t)r << 8 |       \
    (uint32_t)b)

void init_tx_channel(void);
void init_symbols(void);
void init_encoder(void);
void set_rgb(int index, uint32_t grb);
void send_data(void);
void init_ws2812(void);

#ifdef __cplusplus
}
#endif

#endif

